VMS Help  —  MACRO  Macros for Porting from VAX to Alpha or I64, Saving and Restoring 64-Bit Registers
    Frequently, VAX MACRO source code must save and restore register
    values, because that is part of the defined interface or because
    the code requires work registers.

    On OpenVMS VAX, code can invoke any number of macros to do
    this. On OpenVMS Alpha and OpenVMS I64, you cannot simply
    replace these macros with 64-bit pushes and pops to and from
    the stack, because there is no guarantee that the macro caller
    has a quadword-aligned stack. Instead, you should replace such
    macro invocations with $PUSH64 and $POP64 macros. These macros,
    located in STARLET.MLB, preserve all 64 bits of a register but
    use longword references to do so.
Additional Information: explode extract

$POP64 $PUSH64
Close Help